import axios from 'axios';
import {message} from 'antd';
const apiV1 = 'http://110.40.234.135:4005';
// 每次请求的时候 基础配置  包含基础地址
// 返回配置好的axios实例
export const httpProvider = axios.create({
  // process : node的变量 如果是开发环境 '/api' 生产环境 apiV1+'/api/v1'
  baseURL:`http://localhost:4005`,
  // baseURL:process.env.NODE_ENV === 'production'? apiV1+'/api/v1':'/api',
  timeout:6000
});

// 拦截 : 请求拦截
httpProvider.interceptors.request.use(
  (config)=>{
    const token = window.localStorage.getItem('token');
    if(token){
      config.headers.Authorization = `Bearer ${token}`;
    }
    return config;
  },
  ()=>{
    throw new Error('发起请求出错');
  }
);

// 响应拦截
httpProvider.interceptors.response.use(
  (data)=>{
    // data.data
    return data.data;
  },
  (err)=>{
    if(err&&err.response&&err.response.status){
      const status = err.response.status;
      switch(status){
      case 504:
      case 500:
      case 404:
        message.error('服务器异常');
        break;
      case 401:
        message.error('未授权');
        break;
      case 403:
        message.error('无权访问');
        break;
      case 422:
        message.error('参数出错');
        break;
      // case 400: // 请求出错
      //   message.error('未授权');
      //   break;
      default:
        message.error('未知错误');
      }

    }
  }
);

// axios.get('http://localhost:3000').then(res=>{})